<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
    <title>Coverage for I:\CourseRegistration\professor\views.py: 32%</title>
    <link rel="stylesheet" href="style.css" type="text/css">
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="jquery.hotkeys.js"></script>
    <script type="text/javascript" src="jquery.isonscreen.js"></script>
    <script type="text/javascript" src="coverage_html.js"></script>
    <script type="text/javascript">
        jQuery(document).ready(coverage.pyfile_ready);
    </script>
</head>
<body class="pyfile">
<div id="header">
    <div class="content">
        <h1>Coverage for <b>I:\CourseRegistration\professor\views.py</b> :
            <span class="pc_cov">32%</span>
        </h1>
        <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
        <h2 class="stats">
            81 statements &nbsp;
            <span class="run shortkey_r button_toggle_run">26 run</span>
            <span class="mis show_mis shortkey_m button_toggle_mis">55 missing</span>
            <span class="exc show_exc shortkey_x button_toggle_exc">0 excluded</span>
        </h2>
    </div>
</div>
<div class="help_panel">
    <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
    <p class="legend">Hot-keys on this page</p>
    <div>
    <p class="keyhelp">
        <span class="key">r</span>
        <span class="key">m</span>
        <span class="key">x</span>
        <span class="key">p</span> &nbsp; toggle line displays
    </p>
    <p class="keyhelp">
        <span class="key">j</span>
        <span class="key">k</span> &nbsp; next/prev highlighted chunk
    </p>
    <p class="keyhelp">
        <span class="key">0</span> &nbsp; (zero) top of page
    </p>
    <p class="keyhelp">
        <span class="key">1</span> &nbsp; (one) first highlighted chunk
    </p>
    </div>
</div>
<div id="source">
    <p id="t1" class="run"><span class="n"><a href="#t1">1</a></span><span class="t"><span class="key">from</span> <span class="op">.</span> <span class="key">import</span> <span class="nam">pfs</span>&nbsp;</span><span class="r"></span></p>
    <p id="t2" class="run"><span class="n"><a href="#t2">2</a></span><span class="t"><span class="key">from</span> <span class="nam">flask</span> <span class="key">import</span> <span class="nam">render_template</span><span class="op">,</span> <span class="nam">redirect</span><span class="op">,</span> <span class="nam">request</span><span class="op">,</span> <span class="nam">url_for</span><span class="op">,</span> <span class="nam">flash</span>&nbsp;</span><span class="r"></span></p>
    <p id="t3" class="run"><span class="n"><a href="#t3">3</a></span><span class="t"><span class="key">from</span> <span class="nam">flask_login</span> <span class="key">import</span> <span class="nam">login_required</span><span class="op">,</span> <span class="nam">current_user</span>&nbsp;</span><span class="r"></span></p>
    <p id="t4" class="run"><span class="n"><a href="#t4">4</a></span><span class="t"><span class="key">from</span> <span class="nam">models</span> <span class="key">import</span> <span class="nam">Student</span><span class="op">,</span> <span class="nam">Course</span><span class="op">,</span> <span class="nam">Takes</span><span class="op">,</span> <span class="nam">Inputbox</span><span class="op">,</span> <span class="nam">Prerequisite</span><span class="op">,</span> <span class="nam">Bill</span><span class="op">,</span> <span class="nam">Professor</span><span class="op">,</span> <span class="nam">Section</span>&nbsp;</span><span class="r"></span></p>
    <p id="t5" class="run"><span class="n"><a href="#t5">5</a></span><span class="t"><span class="key">import</span> <span class="nam">datetime</span>&nbsp;</span><span class="r"></span></p>
    <p id="t6" class="run"><span class="n"><a href="#t6">6</a></span><span class="t"><span class="key">from</span> <span class="nam">app</span> <span class="key">import</span> <span class="nam">db</span>&nbsp;</span><span class="r"></span></p>
    <p id="t7" class="run"><span class="n"><a href="#t7">7</a></span><span class="t"><span class="key">from</span> <span class="nam">models</span> <span class="key">import</span> <span class="nam">Teaches</span>&nbsp;</span><span class="r"></span></p>
    <p id="t8" class="run"><span class="n"><a href="#t8">8</a></span><span class="t"><span class="key">from</span> <span class="nam">professor</span><span class="op">.</span><span class="nam">forms</span> <span class="key">import</span> <span class="nam">GradeForm</span>&nbsp;</span><span class="r"></span></p>
    <p id="t9" class="pln"><span class="n"><a href="#t9">9</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t10" class="pln"><span class="n"><a href="#t10">10</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t11" class="run"><span class="n"><a href="#t11">11</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-home'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t12" class="run"><span class="n"><a href="#t12">12</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t13" class="pln"><span class="n"><a href="#t13">13</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_home</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t14" class="pln"><span class="n"><a href="#t14">14</a></span><span class="t">    <span class="com"># &#25945;&#24072;&#30340;&#20027;&#39029;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t15" class="pln"><span class="n"><a href="#t15">15</a></span><span class="t">    <span class="com"># &#26412;&#39029;&#38754;&#25552;&#20379;&#38142;&#25509;&#21040;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t16" class="pln"><span class="n"><a href="#t16">16</a></span><span class="t">    <span class="com"># 1. pfs.professor_choose_course</span>&nbsp;</span><span class="r"></span></p>
    <p id="t17" class="pln"><span class="n"><a href="#t17">17</a></span><span class="t">    <span class="com"># 2. pfs.professor_input_box</span>&nbsp;</span><span class="r"></span></p>
    <p id="t18" class="pln"><span class="n"><a href="#t18">18</a></span><span class="t">    <span class="com"># 3. pfs.professor_choose_course_to_give_grades</span>&nbsp;</span><span class="r"></span></p>
    <p id="t19" class="mis show_mis"><span class="n"><a href="#t19">19</a></span><span class="t">    <span class="nam">today</span> <span class="op">=</span> <span class="nam">datetime</span><span class="op">.</span><span class="nam">datetime</span><span class="op">.</span><span class="nam">today</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t20" class="mis show_mis"><span class="n"><a href="#t20">20</a></span><span class="t">    <span class="nam">name</span> <span class="op">=</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_name</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t21" class="mis show_mis"><span class="n"><a href="#t21">21</a></span><span class="t">    <span class="nam">greeting</span> <span class="op">=</span> <span class="nam">name</span> <span class="op">+</span> <span class="str">"&#32769;&#24072;&#65292;&#24744;&#22909;&#65281;&#29616;&#22312;&#26159;"</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">today</span><span class="op">.</span><span class="nam">year</span><span class="op">)</span> <span class="op">+</span> <span class="str">"&#24180;"</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">today</span><span class="op">.</span><span class="nam">month</span><span class="op">)</span> <span class="op">+</span> <span class="str">"&#26376;"</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">today</span><span class="op">.</span><span class="nam">day</span><span class="op">)</span> <span class="op">+</span> <span class="str">"&#26085;&#65292;"</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t22" class="pln"><span class="n"><a href="#t22">22</a></span><span class="t">        <span class="nam">today</span><span class="op">.</span><span class="nam">hour</span><span class="op">)</span> <span class="op">+</span> <span class="str">"&#26102;"</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t23" class="pln"><span class="n"><a href="#t23">23</a></span><span class="t">        <span class="nam">today</span><span class="op">.</span><span class="nam">minute</span><span class="op">)</span> <span class="op">+</span> <span class="str">"&#20998;"</span>&nbsp;</span><span class="r"></span></p>
    <p id="t24" class="pln"><span class="n"><a href="#t24">24</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t25" class="mis show_mis"><span class="n"><a href="#t25">25</a></span><span class="t">    <span class="nam">new_messages</span> <span class="op">=</span> <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">user_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t26" class="pln"><span class="n"><a href="#t26">26</a></span><span class="t">        <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">hasBeenRead</span> <span class="op">==</span> <span class="key">False</span><span class="op">)</span><span class="op">.</span><span class="nam">order_by</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">timestamp</span><span class="op">.</span><span class="nam">desc</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>  <span class="com"># &#26410;&#35835;&#28040;&#24687;(hasBeenRead&#20026;False)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t27" class="mis show_mis"><span class="n"><a href="#t27">27</a></span><span class="t">    <span class="key">if</span> <span class="nam">len</span><span class="op">(</span><span class="nam">new_messages</span><span class="op">)</span> <span class="op">></span> <span class="num">0</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t28" class="mis show_mis"><span class="n"><a href="#t28">28</a></span><span class="t">        <span class="nam">flash</span><span class="op">(</span><span class="str">'&#24744;&#26377;&#26032;&#30340;&#28040;&#24687;&#65292;&#35831;&#26597;&#30475;&#65281;'</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t29" class="mis show_mis"><span class="n"><a href="#t29">29</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_home.html'</span><span class="op">,</span> <span class="nam">greeting</span><span class="op">=</span><span class="nam">greeting</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t30" class="pln"><span class="n"><a href="#t30">30</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t31" class="pln"><span class="n"><a href="#t31">31</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t32" class="run"><span class="n"><a href="#t32">32</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-choose-course'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t33" class="run"><span class="n"><a href="#t33">33</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t34" class="pln"><span class="n"><a href="#t34">34</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_choose_course</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t35" class="pln"><span class="n"><a href="#t35">35</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#36127;&#36131;&#21015;&#20986;&#21487;&#36873;&#30340;&#35838;&#31243;&#21644;&#24050;&#36873;&#30340;&#35838;&#31243;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t36" class="pln"><span class="n"><a href="#t36">36</a></span><span class="t">    <span class="com"># &#21487;&#36873;&#30340;&#35838;&#31243;&#28385;&#36275;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t37" class="pln"><span class="n"><a href="#t37">37</a></span><span class="t">    <span class="com"># 1. &#26412;&#23398;&#26399;&#30340;&#35838;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t38" class="pln"><span class="n"><a href="#t38">38</a></span><span class="t">    <span class="com"># 2. &#26242;&#26102;&#27809;&#26377;&#32769;&#24072;&#36873;&#25321;&#25945;&#30340;&#35838;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t39" class="mis show_mis"><span class="n"><a href="#t39">39</a></span><span class="t">    <span class="nam">today</span> <span class="op">=</span> <span class="nam">datetime</span><span class="op">.</span><span class="nam">datetime</span><span class="op">.</span><span class="nam">today</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t40" class="mis show_mis"><span class="n"><a href="#t40">40</a></span><span class="t">    <span class="nam">thisSemester</span> <span class="op">=</span> <span class="nam">str</span><span class="op">(</span><span class="nam">today</span><span class="op">.</span><span class="nam">year</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t41" class="mis show_mis"><span class="n"><a href="#t41">41</a></span><span class="t">    <span class="key">if</span> <span class="nam">int</span><span class="op">(</span><span class="nam">today</span><span class="op">.</span><span class="nam">month</span><span class="op">)</span> <span class="op">&lt;</span> <span class="num">7</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t42" class="mis show_mis"><span class="n"><a href="#t42">42</a></span><span class="t">        <span class="nam">thisSemester</span> <span class="op">+=</span> <span class="str">"1"</span>&nbsp;</span><span class="r"></span></p>
    <p id="t43" class="pln"><span class="n"><a href="#t43">43</a></span><span class="t">    <span class="key">else</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t44" class="mis show_mis"><span class="n"><a href="#t44">44</a></span><span class="t">        <span class="nam">thisSemester</span> <span class="op">+=</span> <span class="str">"2"</span>&nbsp;</span><span class="r"></span></p>
    <p id="t45" class="mis show_mis"><span class="n"><a href="#t45">45</a></span><span class="t">    <span class="nam">section_all</span> <span class="op">=</span> <span class="nam">Section</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Section</span><span class="op">.</span><span class="nam">semester</span> <span class="op">==</span> <span class="nam">thisSemester</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>  <span class="com"># &#23384;&#25918;&#21487;&#36873;&#35838;&#31243;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t46" class="mis show_mis"><span class="n"><a href="#t46">46</a></span><span class="t">    <span class="nam">teaches</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t47" class="mis show_mis"><span class="n"><a href="#t47">47</a></span><span class="t">    <span class="nam">section_has_professor</span> <span class="op">=</span> <span class="op">[</span><span class="nam">t</span><span class="op">.</span><span class="nam">section</span> <span class="key">for</span> <span class="nam">t</span> <span class="key">in</span> <span class="nam">teaches</span><span class="op">]</span>&nbsp;</span><span class="r"></span></p>
    <p id="t48" class="mis show_mis"><span class="n"><a href="#t48">48</a></span><span class="t">    <span class="nam">section_list</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span>&nbsp;</span><span class="r"></span></p>
    <p id="t49" class="mis show_mis"><span class="n"><a href="#t49">49</a></span><span class="t">    <span class="key">for</span> <span class="nam">s</span> <span class="key">in</span> <span class="nam">section_all</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t50" class="mis show_mis"><span class="n"><a href="#t50">50</a></span><span class="t">        <span class="key">if</span> <span class="nam">s</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">section_has_professor</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t51" class="mis show_mis"><span class="n"><a href="#t51">51</a></span><span class="t">            <span class="nam">section_list</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t52" class="mis show_mis"><span class="n"><a href="#t52">52</a></span><span class="t">    <span class="nam">teaches</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Teaches</span><span class="op">.</span><span class="nam">professor_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t53" class="mis show_mis"><span class="n"><a href="#t53">53</a></span><span class="t">    <span class="nam">taken_section_list</span> <span class="op">=</span> <span class="op">[</span><span class="nam">t</span><span class="op">.</span><span class="nam">section</span> <span class="key">for</span> <span class="nam">t</span> <span class="key">in</span> <span class="nam">teaches</span><span class="op">]</span>  <span class="com"># &#23384;&#25918;&#24050;&#36873;&#30340;&#35838;&#31243;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t54" class="mis show_mis"><span class="n"><a href="#t54">54</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_choose_course.html'</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t55" class="pln"><span class="n"><a href="#t55">55</a></span><span class="t">                           <span class="nam">section_list</span><span class="op">=</span><span class="nam">section_list</span><span class="op">,</span> <span class="nam">taken_section_list</span><span class="op">=</span><span class="nam">taken_section_list</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t56" class="pln"><span class="n"><a href="#t56">56</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t57" class="pln"><span class="n"><a href="#t57">57</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t58" class="run"><span class="n"><a href="#t58">58</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-take-course/&lt;int:section_id>'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t59" class="run"><span class="n"><a href="#t59">59</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t60" class="pln"><span class="n"><a href="#t60">60</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_take_course</span><span class="op">(</span><span class="nam">section_id</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t61" class="pln"><span class="n"><a href="#t61">61</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#26681;&#25454;&#32473;&#23450;&#30340;course_id&#65292;&#26597;&#35810;&#26412;&#35838;&#31243;&#26159;&#21542;&#24050;&#34987;&#21035;&#32769;&#24072;&#25945;&#20102;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t62" class="pln"><span class="n"><a href="#t62">62</a></span><span class="t">    <span class="com"># &#22914;&#26524;&#26159;&#65292;&#21017;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t63" class="mis show_mis"><span class="n"><a href="#t63">63</a></span><span class="t">    <span class="nam">teaches</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Teaches</span><span class="op">.</span><span class="nam">section_id</span> <span class="op">==</span> <span class="nam">section_id</span><span class="op">)</span><span class="op">.</span><span class="nam">first</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t64" class="mis show_mis"><span class="n"><a href="#t64">64</a></span><span class="t">    <span class="nam">course_id</span> <span class="op">=</span> <span class="nam">Section</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Section</span><span class="op">.</span><span class="nam">section_id</span><span class="op">==</span><span class="nam">section_id</span><span class="op">)</span><span class="op">.</span><span class="nam">first</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">course_id</span>&nbsp;</span><span class="r"></span></p>
    <p id="t65" class="mis show_mis"><span class="n"><a href="#t65">65</a></span><span class="t">    <span class="key">if</span> <span class="nam">teaches</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t66" class="mis show_mis"><span class="n"><a href="#t66">66</a></span><span class="t">        <span class="nam">flash</span><span class="op">(</span><span class="str">'&#36873;&#35838;&#22833;&#36133;&#65292;&#35813;&#35838;&#31243;&#24050;&#34987;&#20854;&#20182;&#32769;&#24072;&#25152;&#36873;&#65281;'</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t67" class="mis show_mis"><span class="n"><a href="#t67">67</a></span><span class="t">        <span class="key">return</span> <span class="nam">redirect</span><span class="op">(</span><span class="nam">url_for</span><span class="op">(</span><span class="str">'pfs.professor_choose_course'</span><span class="op">)</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t68" class="pln"><span class="n"><a href="#t68">68</a></span><span class="t">    <span class="key">else</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t69" class="pln"><span class="n"><a href="#t69">69</a></span><span class="t">        <span class="com"># &#22914;&#26524;&#27809;&#26377;&#65292;&#21017;&#21487;&#20197;&#25945;&#36825;&#38376;&#35838;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t70" class="mis show_mis"><span class="n"><a href="#t70">70</a></span><span class="t">        <span class="nam">teaches</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">(</span><span class="nam">professor_id</span><span class="op">=</span><span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="nam">section_id</span><span class="op">=</span><span class="nam">section_id</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t71" class="pln"><span class="n"><a href="#t71">71</a></span><span class="t">                          <span class="nam">course_id</span><span class="op">=</span><span class="nam">course_id</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t72" class="mis show_mis"><span class="n"><a href="#t72">72</a></span><span class="t">        <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">add</span><span class="op">(</span><span class="nam">teaches</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t73" class="mis show_mis"><span class="n"><a href="#t73">73</a></span><span class="t">        <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">commit</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t74" class="mis show_mis"><span class="n"><a href="#t74">74</a></span><span class="t">    <span class="key">return</span> <span class="nam">redirect</span><span class="op">(</span><span class="nam">url_for</span><span class="op">(</span><span class="str">'pfs.professor_choose_course'</span><span class="op">)</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t75" class="pln"><span class="n"><a href="#t75">75</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t76" class="pln"><span class="n"><a href="#t76">76</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t77" class="run"><span class="n"><a href="#t77">77</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-cancel-course/&lt;int:section_id>'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t78" class="run"><span class="n"><a href="#t78">78</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t79" class="pln"><span class="n"><a href="#t79">79</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_cancel_course</span><span class="op">(</span><span class="nam">section_id</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t80" class="mis show_mis"><span class="n"><a href="#t80">80</a></span><span class="t">    <span class="nam">teaches</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Teaches</span><span class="op">.</span><span class="nam">professor_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t81" class="pln"><span class="n"><a href="#t81">81</a></span><span class="t">        <span class="nam">Teaches</span><span class="op">.</span><span class="nam">section_id</span> <span class="op">==</span> <span class="nam">section_id</span><span class="op">)</span><span class="op">.</span><span class="nam">first</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t82" class="mis show_mis"><span class="n"><a href="#t82">82</a></span><span class="t">    <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">delete</span><span class="op">(</span><span class="nam">teaches</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t83" class="mis show_mis"><span class="n"><a href="#t83">83</a></span><span class="t">    <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">commit</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t84" class="mis show_mis"><span class="n"><a href="#t84">84</a></span><span class="t">    <span class="key">return</span> <span class="nam">redirect</span><span class="op">(</span><span class="nam">url_for</span><span class="op">(</span><span class="str">'pfs.professor_choose_course'</span><span class="op">)</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t85" class="pln"><span class="n"><a href="#t85">85</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t86" class="pln"><span class="n"><a href="#t86">86</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t87" class="run"><span class="n"><a href="#t87">87</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-choose-course-to-give-grades'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t88" class="run"><span class="n"><a href="#t88">88</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t89" class="pln"><span class="n"><a href="#t89">89</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_choose_course_to_give_grades</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t90" class="pln"><span class="n"><a href="#t90">90</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#21015;&#20986;&#26412;&#25945;&#25480;&#22312;&#25945;&#30340;&#35838;&#31243;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t91" class="pln"><span class="n"><a href="#t91">91</a></span><span class="t">    <span class="com"># &#23384;&#25918;&#22312;course_list&#37324;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t92" class="pln"><span class="n"><a href="#t92">92</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#26377;&#28857;&#31867;&#20284;&#20110;pfs.choose_course&#65292;&#20294;&#19981;&#21516;&#30340;&#26159;&#65292;&#36825;&#20010;&#30028;&#38754;&#20165;&#21015;&#20986;&#24050;&#25945;&#30340;&#35838;&#31243;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t93" class="pln"><span class="n"><a href="#t93">93</a></span><span class="t">    <span class="com"># &#24182;&#19988;&#26412;&#36335;&#30001;&#21069;&#31471;&#27599;&#20010;&#35838;&#31243;&#25552;&#20379;&#19968;&#20010;"&#26597;&#30475;"&#38142;&#25509;&#65292;&#36716;&#21040;&#19979;&#19968;&#20010;&#36335;&#30001;&#65292;&#21363;pfs.professor_list_all_students_who_take_this_course</span>&nbsp;</span><span class="r"></span></p>
    <p id="t94" class="mis show_mis"><span class="n"><a href="#t94">94</a></span><span class="t">    <span class="nam">section_list</span> <span class="op">=</span> <span class="nam">Teaches</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Teaches</span><span class="op">.</span><span class="nam">professor_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t95" class="mis show_mis"><span class="n"><a href="#t95">95</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_choose_course_to_give_grades.html'</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t96" class="pln"><span class="n"><a href="#t96">96</a></span><span class="t">                           <span class="nam">section_list</span><span class="op">=</span><span class="nam">section_list</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t97" class="pln"><span class="n"><a href="#t97">97</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t98" class="pln"><span class="n"><a href="#t98">98</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t99" class="run"><span class="n"><a href="#t99">99</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-list-all-students-who-take-this-course/&lt;int:section_id>'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t100" class="run"><span class="n"><a href="#t100">100</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t101" class="pln"><span class="n"><a href="#t101">101</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_list_all_students_who_take_this_course</span><span class="op">(</span><span class="nam">section_id</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t102" class="pln"><span class="n"><a href="#t102">102</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#26681;&#25454;course_id&#21442;&#25968;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t103" class="pln"><span class="n"><a href="#t103">103</a></span><span class="t">    <span class="com"># &#26597;&#35810;&#36873;&#20102;&#36825;&#20010;course(primary)&#30340;&#23398;&#29983;&#65292;&#24182;&#26681;&#25454;&#23398;&#29983;id&#65292;&#36820;&#22238;&#36825;&#20123;&#23398;&#29983;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t104" class="mis show_mis"><span class="n"><a href="#t104">104</a></span><span class="t">    <span class="nam">takes</span> <span class="op">=</span> <span class="nam">Takes</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Takes</span><span class="op">.</span><span class="nam">section_id</span> <span class="op">==</span> <span class="nam">section_id</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>  <span class="com"># student_list</span>&nbsp;</span><span class="r"></span></p>
    <p id="t105" class="mis show_mis"><span class="n"><a href="#t105">105</a></span><span class="t">    <span class="nam">student_list</span> <span class="op">=</span> <span class="op">[</span><span class="nam">t</span><span class="op">.</span><span class="nam">student</span> <span class="key">for</span> <span class="nam">t</span> <span class="key">in</span> <span class="nam">takes</span><span class="op">]</span>&nbsp;</span><span class="r"></span></p>
    <p id="t106" class="pln"><span class="n"><a href="#t106">106</a></span><span class="t">    <span class="com"># &#21069;&#31471;&#21015;&#20030;&#20986;&#36873;&#20102;&#36825;&#38376;&#35838;&#30340;&#23398;&#29983;&#65292;&#27599;&#20010;&#23398;&#29983;&#25552;&#20379;&#19968;&#20010;&#38142;&#25509;&#65292;&#36716;&#21040;&#19979;&#19968;&#20010;&#36335;&#30001;&#65292;&#21363;pfs.professor_submit_grades(&#35813;&#36335;&#30001;&#25509;&#21463;&#23398;&#29983;id&#65292;&#20197;&#21450;&#26412;&#35838;&#31243;&#30340;id)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t107" class="mis show_mis"><span class="n"><a href="#t107">107</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_list_all_students_who_take_the_course.html'</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t108" class="pln"><span class="n"><a href="#t108">108</a></span><span class="t">                           <span class="nam">student_list</span><span class="op">=</span><span class="nam">student_list</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t109" class="pln"><span class="n"><a href="#t109">109</a></span><span class="t">                           <span class="nam">section_id</span><span class="op">=</span><span class="nam">section_id</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t110" class="pln"><span class="n"><a href="#t110">110</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t111" class="pln"><span class="n"><a href="#t111">111</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t112" class="run"><span class="n"><a href="#t112">112</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-submit-grades/&lt;int:student_id>_&lt;int:section_id>'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t113" class="run"><span class="n"><a href="#t113">113</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t114" class="pln"><span class="n"><a href="#t114">114</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_submit_grades</span><span class="op">(</span><span class="nam">student_id</span><span class="op">,</span> <span class="nam">section_id</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t115" class="pln"><span class="n"><a href="#t115">115</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#29992;&#20110;&#25945;&#24072;&#25552;&#20132;&#26576;&#38376;&#35838;&#26576;&#23398;&#29983;&#30340;&#25104;&#32489;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t116" class="pln"><span class="n"><a href="#t116">116</a></span><span class="t">    <span class="com"># &#36825;&#38656;&#35201;&#25945;&#24072;&#22635;&#20889;&#34920;&#21333;&#65306;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t117" class="mis show_mis"><span class="n"><a href="#t117">117</a></span><span class="t">    <span class="nam">form</span> <span class="op">=</span> <span class="nam">GradeForm</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t118" class="mis show_mis"><span class="n"><a href="#t118">118</a></span><span class="t">    <span class="key">if</span> <span class="nam">form</span><span class="op">.</span><span class="nam">validate_on_submit</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t119" class="mis show_mis"><span class="n"><a href="#t119">119</a></span><span class="t">        <span class="nam">takes</span> <span class="op">=</span> <span class="nam">Takes</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Takes</span><span class="op">.</span><span class="nam">student_id</span> <span class="op">==</span> <span class="nam">student_id</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Takes</span><span class="op">.</span><span class="nam">section_id</span> <span class="op">==</span> <span class="nam">section_id</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t120" class="mis show_mis"><span class="n"><a href="#t120">120</a></span><span class="t">        <span class="nam">takes</span><span class="op">.</span><span class="nam">grade</span> <span class="op">=</span> <span class="nam">form</span><span class="op">.</span><span class="nam">grade</span><span class="op">.</span><span class="nam">data</span>&nbsp;</span><span class="r"></span></p>
    <p id="t121" class="mis show_mis"><span class="n"><a href="#t121">121</a></span><span class="t">        <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">add</span><span class="op">(</span><span class="nam">takes</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t122" class="mis show_mis"><span class="n"><a href="#t122">122</a></span><span class="t">        <span class="nam">db</span><span class="op">.</span><span class="nam">session</span><span class="op">.</span><span class="nam">commit</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t123" class="mis show_mis"><span class="n"><a href="#t123">123</a></span><span class="t">        <span class="key">return</span> <span class="nam">redirect</span><span class="op">(</span><span class="nam">url_for</span><span class="op">(</span><span class="str">'pfs.professor_list_all_students_who_take_this_course'</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t124" class="pln"><span class="n"><a href="#t124">124</a></span><span class="t">                                <span class="nam">section_id</span><span class="op">=</span><span class="nam">section_id</span><span class="op">)</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t125" class="mis show_mis"><span class="n"><a href="#t125">125</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_submit_grades.html'</span><span class="op">,</span> <span class="nam">form</span><span class="op">=</span><span class="nam">form</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t126" class="pln"><span class="n"><a href="#t126">126</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t127" class="pln"><span class="n"><a href="#t127">127</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t128" class="run"><span class="n"><a href="#t128">128</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-input-box'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t129" class="run"><span class="n"><a href="#t129">129</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t130" class="pln"><span class="n"><a href="#t130">130</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_input_box</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t131" class="pln"><span class="n"><a href="#t131">131</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#20026;&#25945;&#24072;&#26597;&#30475;&#28040;&#24687;&#65292;&#31867;&#20284;&#20110;&#23398;&#29983;&#30340;&#28040;&#24687;&#21015;&#34920;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t132" class="pln"><span class="n"><a href="#t132">132</a></span><span class="t">    <span class="com"># &#26597;&#35810;input_box&#20013;id=current_user.get_id()&#30340;&#28040;&#24687;&#65292;&#25353;&#26102;&#38388;&#25490;&#24207;(&#19981;&#26159;&#24517;&#35201;&#65292;&#22240;&#20026;new_message&#21487;&#26681;&#25454;&#39068;&#33394;&#26631;&#20986;&#65292;&#20294;&#25490;&#24207;&#26356;&#22909;)&#65292;&#24182;&#20998;&#25104;&#24050;&#35835;&#28040;&#24687;&#21644;&#26410;&#35835;&#28040;&#24687;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t133" class="pln"><span class="n"><a href="#t133">133</a></span><span class="t">    <span class="com"># &#24050;&#35835;&#28040;&#24687; old_messages&#65292;&#26410;&#35835;&#28040;&#24687; new_messages&#65292;&#22914;&#26524;new_messages&#20026;&#31354;&#65292;&#21017;&#32622;hasUnreadMessages=True</span>&nbsp;</span><span class="r"></span></p>
    <p id="t134" class="mis show_mis"><span class="n"><a href="#t134">134</a></span><span class="t">    <span class="nam">old_messages</span> <span class="op">=</span> <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">user_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t135" class="pln"><span class="n"><a href="#t135">135</a></span><span class="t">        <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">hasBeenRead</span><span class="op">)</span><span class="op">.</span><span class="nam">order_by</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">timestamp</span><span class="op">.</span><span class="nam">desc</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>  <span class="com"># &#24050;&#35835;&#28040;&#24687;(hasBeenRead&#20026;True)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t136" class="mis show_mis"><span class="n"><a href="#t136">136</a></span><span class="t">    <span class="nam">new_messages</span> <span class="op">=</span> <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">user_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t137" class="pln"><span class="n"><a href="#t137">137</a></span><span class="t">        <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">hasBeenRead</span> <span class="op">==</span> <span class="key">False</span><span class="op">)</span><span class="op">.</span><span class="nam">order_by</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">timestamp</span><span class="op">.</span><span class="nam">desc</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>  <span class="com"># &#26410;&#35835;&#28040;&#24687;(hasBeenRead&#20026;False)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t138" class="mis show_mis"><span class="n"><a href="#t138">138</a></span><span class="t">    <span class="key">return</span> <span class="nam">render_template</span><span class="op">(</span><span class="str">'professor/professor_input_box.html'</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t139" class="pln"><span class="n"><a href="#t139">139</a></span><span class="t">                           <span class="nam">old_messages</span><span class="op">=</span><span class="nam">old_messages</span><span class="op">,</span>&nbsp;</span><span class="r"></span></p>
    <p id="t140" class="pln"><span class="n"><a href="#t140">140</a></span><span class="t">                           <span class="nam">new_messages</span><span class="op">=</span><span class="nam">new_messages</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t141" class="pln"><span class="n"><a href="#t141">141</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t142" class="pln"><span class="n"><a href="#t142">142</a></span><span class="t">&nbsp;</span><span class="r"></span></p>
    <p id="t143" class="pln"><span class="n"><a href="#t143">143</a></span><span class="t"><span class="com"># input_box&#30340;&#36741;&#21161;&#36335;&#30001;&#65292;&#20165;&#22788;&#29702;&#25968;&#25454;&#65292;&#26080;&#23454;&#38469;&#30028;&#38754;&#65292;&#25968;&#25454;&#22788;&#29702;&#23436;&#25104;&#21518;&#22238;&#21040;input_box&#30028;&#38754;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t144" class="run"><span class="n"><a href="#t144">144</a></span><span class="t"><span class="op">@</span><span class="nam">pfs</span><span class="op">.</span><span class="nam">route</span><span class="op">(</span><span class="str">'/professor-mark-all_messages_as_read'</span><span class="op">,</span> <span class="nam">methods</span><span class="op">=</span><span class="op">[</span><span class="str">'GET'</span><span class="op">,</span> <span class="str">'POST'</span><span class="op">]</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t145" class="run"><span class="n"><a href="#t145">145</a></span><span class="t"><span class="op">@</span><span class="nam">login_required</span>&nbsp;</span><span class="r"></span></p>
    <p id="t146" class="pln"><span class="n"><a href="#t146">146</a></span><span class="t"><span class="key">def</span> <span class="nam">professor_mark_all_messages_as_read</span><span class="op">(</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t147" class="pln"><span class="n"><a href="#t147">147</a></span><span class="t">    <span class="com"># &#26412;&#36335;&#30001;&#23558;&#25152;&#26377;&#28040;&#24687;&#26631;&#35760;&#20026;&#24050;&#35835;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t148" class="pln"><span class="n"><a href="#t148">148</a></span><span class="t">    <span class="com"># &#20462;&#25913;&#25968;&#25454;&#24211;&#65292;input_box&#37324;&#30340;&#25152;&#26377;id=current_user.student_id&#30340;&#28040;&#24687;&#30340;hasBeenRead&#39033;&#30446;&#32622;&#20026;True</span>&nbsp;</span><span class="r"></span></p>
    <p id="t149" class="pln"><span class="n"><a href="#t149">149</a></span><span class="t">    <span class="com"># &#27880;&#24847;&#22788;&#29702;&#26597;&#35810;&#32467;&#26524;&#20026;None&#30340;&#24773;&#20917;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t150" class="pln"><span class="n"><a href="#t150">150</a></span><span class="t">    <span class="com"># &#22788;&#29702;&#23436;&#25104;&#21518;&#36820;&#22238;&#21040;&#28040;&#24687;&#30028;&#38754;</span>&nbsp;</span><span class="r"></span></p>
    <p id="t151" class="mis show_mis"><span class="n"><a href="#t151">151</a></span><span class="t">    <span class="nam">inputbox</span> <span class="op">=</span> <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">query</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">Inputbox</span><span class="op">.</span><span class="nam">user_id</span> <span class="op">==</span> <span class="nam">current_user</span><span class="op">.</span><span class="nam">get_id</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span>&nbsp;</span><span class="r"></span></p>
    <p id="t152" class="pln"><span class="n"><a href="#t152">152</a></span><span class="t">        <span class="nam">Inputbox</span><span class="op">.</span><span class="nam">hasBeenRead</span> <span class="op">==</span> <span class="key">False</span><span class="op">)</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
    <p id="t153" class="mis show_mis"><span class="n"><a href="#t153">153</a></span><span class="t">    <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">range</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">inputbox</span><span class="op">)</span><span class="op">)</span><span class="op">:</span>&nbsp;</span><span class="r"></span></p>
    <p id="t154" class="mis show_mis"><span class="n"><a href="#t154">154</a></span><span class="t">        <span class="nam">inputbox</span><span class="op">[</span><span class="nam">i</span><span class="op">]</span><span class="op">.</span><span class="nam">hasBeenRead</span> <span class="op">=</span> <span class="key">True</span>&nbsp;</span><span class="r"></span></p>
    <p id="t155" class="mis show_mis"><span class="n"><a href="#t155">155</a></span><span class="t">    <span class="key">return</span> <span class="nam">redirect</span><span class="op">(</span><span class="nam">url_for</span><span class="op">(</span><span class="str">'pfs.professor_input_box'</span><span class="op">)</span><span class="op">)</span>&nbsp;</span><span class="r"></span></p>
</div>
<div id="footer">
    <div class="content">
        <p>
            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v5.1</a>,
            created at 2020-06-08 16:42
        </p>
    </div>
</div>
</body>
</html>
